/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * DatosGrupoConvivientePanel.java
 *
 * Created on 08-sep-2010, 11:48:22
 */

package presentacion.paciente;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JPanel;
import presentacion.CapaPresentacion;
import presentacion.utilidad.maquetado.Fuente;
import presentacion.utilidad.maquetado.Icono;
import presentacion.paciente.InformacionSocialPacientePresentacion;

/**
 *
 * @author Administrador
 */
public class DatosGrupoConvivientePanel extends javax.swing.JPanel {

    /** Creates new form DatosGrupoConvivientePanel */
    public DatosGrupoConvivientePanel(
            InformacionSocialPacientePresentacion referencia) {
        referenciaJDialog = referencia;
        initComponents();
        setearEventosQueCapturanTeclaEnterYEscape();
    }

    public void setearEstadoCampos(boolean estado) {
        vinculoPanelDatosGrupoConviviente.setEnabled(estado);
        ocupacionPanelDatosGrupoConviviente.setEnabled(estado);
        botonQuitarConviviente.setEnabled(estado);
    }

    public String getOcupacionPanelDatosGrupoConviviente() {
        if (ocupacionPanelDatosGrupoConviviente.getSelectedIndex() > -1) {
            return ocupacionPanelDatosGrupoConviviente.getSelectedItem().toString();
        } else {
            return "";
        }
    }

    public String getVinculoPanelDatosGrupoConviviente() {
        if(vinculoPanelDatosGrupoConviviente.getSelectedIndex() > -1) {
            return vinculoPanelDatosGrupoConviviente.getSelectedItem().toString();
        } else {
            return "";
        }
    }

    public void setOcupacionPanelDatosGrupoConviviente(
            String ocupacionPanelDatosGrupoConviviente) {
        this.ocupacionPanelDatosGrupoConviviente.setSelectedIndex(
                CapaPresentacion.getIndiceComboBoxPorString(
                ocupacionPanelDatosGrupoConviviente,
                this.ocupacionPanelDatosGrupoConviviente));
    }

    public void setVinculoPanelDatosGrupoConviviente(
            String vinculoPanelDatosGrupoConviviente) {
        this.vinculoPanelDatosGrupoConviviente.setSelectedIndex(
                CapaPresentacion.getIndiceComboBoxPorString(
                vinculoPanelDatosGrupoConviviente,
                this.vinculoPanelDatosGrupoConviviente));
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        vinculo = new javax.swing.JLabel();
        vinculoPanelDatosGrupoConviviente = new javax.swing.JComboBox();
        textoOcupacionPanelDatosGrupoConviviente = new javax.swing.JLabel();
        ocupacionPanelDatosGrupoConviviente = new javax.swing.JComboBox();
        botonQuitarConviviente = new javax.swing.JButton();
        separatorGrupoConviviente = new javax.swing.JSeparator();

        vinculo.setFont(Fuente.FUENTE_LABEL);
        vinculo.setForeground(Fuente.COLOR_NORMAL);
        vinculo.setText("Relación");
        vinculo.setPreferredSize(new java.awt.Dimension(85, 20));

        vinculoPanelDatosGrupoConviviente.setFont(Fuente.FUENTE_COMBOBOX);
        vinculoPanelDatosGrupoConviviente.setForeground(Fuente.COLOR_NORMAL);
        vinculoPanelDatosGrupoConviviente.setModel(CapaPresentacion.getListaDeVinculoPersonaDeContacto());
        vinculoPanelDatosGrupoConviviente.setPreferredSize(new java.awt.Dimension(130, 20));

        textoOcupacionPanelDatosGrupoConviviente.setFont(Fuente.FUENTE_LABEL);
        textoOcupacionPanelDatosGrupoConviviente.setForeground(Fuente.COLOR_NORMAL);
        textoOcupacionPanelDatosGrupoConviviente.setText("Ocupación");
        textoOcupacionPanelDatosGrupoConviviente.setPreferredSize(new java.awt.Dimension(85, 20));

        ocupacionPanelDatosGrupoConviviente.setFont(Fuente.FUENTE_COMBOBOX);
        ocupacionPanelDatosGrupoConviviente.setForeground(Fuente.COLOR_NORMAL);
        ocupacionPanelDatosGrupoConviviente.setModel(CapaPresentacion.getListaDeOcupaciones());
        ocupacionPanelDatosGrupoConviviente.setPreferredSize(new java.awt.Dimension(130, 20));

        botonQuitarConviviente.setFont(Fuente.FUENTE_BOTON_INTERNO);
        botonQuitarConviviente.setForeground(Fuente.COLOR_NORMAL);
        botonQuitarConviviente.setIcon(Icono.ICONO_16_QUITAR);
        botonQuitarConviviente.setMnemonic('-');
        botonQuitarConviviente.setToolTipText("Remueve este conjunto de datos");
        botonQuitarConviviente.setPreferredSize(new java.awt.Dimension(42, 23));
        botonQuitarConviviente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonQuitarConvivienteActionPerformed(evt);
            }
        });

        separatorGrupoConviviente.setPreferredSize(new java.awt.Dimension(233, 2));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(separatorGrupoConviviente, javax.swing.GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(vinculo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(textoOcupacionPanelDatosGrupoConviviente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(ocupacionPanelDatosGrupoConviviente, 0, 172, Short.MAX_VALUE)
                            .addComponent(vinculoPanelDatosGrupoConviviente, 0, 172, Short.MAX_VALUE)))
                    .addComponent(botonQuitarConviviente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(vinculo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(vinculoPanelDatosGrupoConviviente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(textoOcupacionPanelDatosGrupoConviviente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(ocupacionPanelDatosGrupoConviviente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(separatorGrupoConviviente, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(botonQuitarConviviente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
    }// </editor-fold>//GEN-END:initComponents

    private void botonQuitarConvivienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonQuitarConvivienteActionPerformed
        JPanel panelPadre = (JPanel) botonQuitarConviviente.getParent().getParent();

        panelPadre.remove(botonQuitarConviviente.getParent());
        panelPadre.revalidate();
        panelPadre.repaint();

        referenciaJDialog.restarCantidadDeConvivientes();
}//GEN-LAST:event_botonQuitarConvivienteActionPerformed


    /**
     * Setea en cada componente del JDialog los eventos que capturarán la tecla
     * enter y escape.
     */
    private void setearEventosQueCapturanTeclaEnterYEscape() {
        //Declaración del evento a capturar
        KeyListener keyListenerEscape = new KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) {
                    //Llamada al método que capturará el boton enter y
                    //trabajará sobre el mismo
                    if (referenciaJDialog != null) {
                    referenciaJDialog.dispose();
                    }
                }
            }
        };
        //Setear eventos
        ocupacionPanelDatosGrupoConviviente.addKeyListener(keyListenerEscape);
        vinculoPanelDatosGrupoConviviente.addKeyListener(keyListenerEscape);
        botonQuitarConviviente.addKeyListener(keyListenerEscape);
    }


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton botonQuitarConviviente;
    private javax.swing.JComboBox ocupacionPanelDatosGrupoConviviente;
    private javax.swing.JSeparator separatorGrupoConviviente;
    private javax.swing.JLabel textoOcupacionPanelDatosGrupoConviviente;
    private javax.swing.JLabel vinculo;
    private javax.swing.JComboBox vinculoPanelDatosGrupoConviviente;
    // End of variables declaration//GEN-END:variables
    private InformacionSocialPacientePresentacion referenciaJDialog;
}
